package com.lemobar.pay.model;

import com.lemobar.pay.enums.LmbPayTypeEnum;
import com.lemobar.pay.model.alipay.request.AlipayTradeFastpayRefundQueryRequest;
import com.lemobar.pay.model.wxpay.request.WxPayRefundQueryRequest;
import lombok.Data;

/**
 * 退款查询 请求
 * 微信退款目前只支持 一次一次查(refundId)，不支持查询订单下所有的退款
 * {@link WxPayRefundQueryRequest}
 * {@link AlipayTradeFastpayRefundQueryRequest}
 */
@Data
public class RefundQueryRequest {

    /**
     * 支付方式【必填】
     */
    private LmbPayTypeEnum payTypeEnum;

    /**
     * 商户订单号                                        <br>
     * -微信 【选填】                                   <br>
     * -支付宝 orderId|outOrderId 【必填一】            <br>
     * wx -> out_trade_no                               <br>
     * ali -> out_trade_no
     */
    private String orderId;

    /**
     * 外部订单号                                        <br>
     * -微信 【选填】                                     <br>
     * -支付宝 orderId|outOrderId 【必填一】                <br>
     * wx -> trade_no                                   <br>
     * ali -> trade_no                                      <br>
     */
    private String outOrderId;

    /**
     * 商户退款单号(一次退款请求的退款请求号) 【必填】                                <br>
     * wx -> out_refund_no      分多批次退款时，批次的退款id要不一样                 <br>
     * ali -> out_request_no    分多批次退款时，批次的退款id要不一样                 <br>
     */
    private String refundId;

}
